seg000:000ED5C4 53                                push    ebx
seg000:000ED5C5 51                                push    ecx
seg000:000ED5C6 52                                push    edx
seg000:000ED5C7 83 EC 04                          sub     esp, 4
seg000:000ED5CA 89 04 24                          mov     [esp+10h+var_10], eax
seg000:000ED5CD 8B 0D B4 E9 00 00                 mov     ecx, large ds:0E9B4h
seg000:000ED5D3 8B 1D B8 E9 00 00                 mov     ebx, large ds:0E9B8h
seg000:000ED5D9 41                                inc     ecx
seg000:000ED5DA 85 DB                             test    ebx, ebx
seg000:000ED5DC 76 0E                             jbe     short loc_FD5EC
seg000:000ED5DE 89 CA                             mov     edx, ecx
seg000:000ED5E0
seg000:000ED5E0                   loc_FD5E0:                              ; CODE XREF: sub_FD5C4+26j
seg000:000ED5E0 29 C0                             sub     eax, eax
seg000:000ED5E2 EC                                in      al, dx
seg000:000ED5E3 A8 40                             test    al, 40h
seg000:000ED5E5 74 05                             jz      short loc_FD5EC
seg000:000ED5E7 4B                                dec     ebx
seg000:000ED5E8 85 DB                             test    ebx, ebx
seg000:000ED5EA 77 F4                             ja      short loc_FD5E0
seg000:000ED5EC
seg000:000ED5EC                   loc_FD5EC:                              ; CODE XREF: sub_FD5C4+18j
seg000:000ED5EC                                                           ; sub_FD5C4+21j
seg000:000ED5EC 8A 04 24                          mov     al, byte ptr [esp+10h+var_10]
seg000:000ED5EF 8D 51 FF                          lea     edx, [ecx-1]
seg000:000ED5F2 EE                                out     dx, al
seg000:000ED5F3 83 C4 04                          add     esp, 4
seg000:000ED5F6 5A                                pop     edx
seg000:000ED5F7 59                                pop     ecx
seg000:000ED5F8 5B                                pop     ebx
seg000:000ED5F9 C3                                retn




; MIDI OUT messages
; - not used for sb, adlib (FM)

seg000:000ED5FA 8B C0                             mov     eax, eax
seg000:000ED5FC 0C 80                             or      al, 80h


seg000:000ED5FE E8 C1 FF FF FF                    call    sub_FD5C4
seg000:000ED603 89 D0                             mov     eax, edx
seg000:000ED605 E8 BA FF FF FF                    call    sub_FD5C4
seg000:000ED60A 89 D8                             mov     eax, ebx
seg000:000ED60C EB B6                             jmp     short sub_FD5C4
seg000:000ED60E                   ; ---------------------------------------------------------------------------
seg000:000ED60E 8B C0                             mov     eax, eax
seg000:000ED610 0C 90                             or      al, 90h


seg000:000ED612 E8 AD FF FF FF                    call    sub_FD5C4
seg000:000ED617 89 D0                             mov     eax, edx
seg000:000ED619 E8 A6 FF FF FF                    call    sub_FD5C4
seg000:000ED61E 89 D8                             mov     eax, ebx
seg000:000ED620 EB A2                             jmp     short sub_FD5C4
seg000:000ED622                   ; ---------------------------------------------------------------------------
seg000:000ED622 8B C0                             mov     eax, eax
seg000:000ED624 0C A0                             or      al, 0A0h


seg000:000ED626 E8 99 FF FF FF                    call    sub_FD5C4
seg000:000ED62B 89 D0                             mov     eax, edx
seg000:000ED62D E8 92 FF FF FF                    call    sub_FD5C4
seg000:000ED632 89 D8                             mov     eax, ebx
seg000:000ED634 EB 8E                             jmp     short sub_FD5C4
seg000:000ED636                   ; ---------------------------------------------------------------------------
seg000:000ED636 8B C0                             mov     eax, eax
seg000:000ED638 0C B0                             or      al, 0B0h


seg000:000ED63A E8 85 FF FF FF                    call    sub_FD5C4
seg000:000ED63F 89 D0                             mov     eax, edx
seg000:000ED641 E8 7E FF FF FF                    call    sub_FD5C4
seg000:000ED646 89 D8                             mov     eax, ebx
seg000:000ED648 E9 77 FF FF FF                    jmp     sub_FD5C4
seg000:000ED64D                   ; ---------------------------------------------------------------------------


seg000:000ED64D 8D 40 00                          lea     eax, [eax+0]
seg000:000ED650 0C C0                             or      al, 0C0h


seg000:000ED652 E8 6D FF FF FF                    call    sub_FD5C4
seg000:000ED657 89 D0                             mov     eax, edx
seg000:000ED659 E9 66 FF FF FF                    jmp     sub_FD5C4
seg000:000ED65E                   ; ---------------------------------------------------------------------------
seg000:000ED65E 8B C0                             mov     eax, eax
seg000:000ED660 0C D0                             or      al, 0D0h

seg000:000ED662 E8 5D FF FF FF                    call    sub_FD5C4
seg000:000ED667 89 D0                             mov     eax, edx
seg000:000ED669 E9 56 FF FF FF                    jmp     sub_FD5C4
seg000:000ED66E                   ; ---------------------------------------------------------------------------
seg000:000ED66E 8B C0                             mov     eax, eax
seg000:000ED670 0C E0                             or      al, 0E0h

seg000:000ED672 E8 4D FF FF FF                    call    sub_FD5C4
seg000:000ED677 89 D0                             mov     eax, edx
seg000:000ED679 E8 46 FF FF FF                    call    sub_FD5C4

seg000:000ED67E 89 D8                             mov     eax, ebx
seg000:000ED680 E9 3F FF FF FF                    jmp     sub_FD5C4

